package com.binfenhulian.chinaenergy.ces.manage.core.oss.service;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Map;

/**
 * Created by wanghjbuf on 2018/3/19.
 */
public interface OSSService {

    /**
     * 上传文件
     * @param key
     * @param bytes
     * @return
     */
    String upLoadFile(String key, byte[] bytes);

    /**
     * 上传文件 使用随机的uuid作key
     * @param bytes
     * @return
     */
    String upLoadFile(byte[] bytes);

    /**
     * 上传文件
     * @param dirStr
     * @param fileStr
     * @param bytes
     * @return
     */
    public String upLoadFile(String dirStr, String fileStr, byte[] bytes);

    /**
     * 获取临时授权访问url
     *
     * @param key
     * @return
     */
    String getTempAccessUrl(String key);

    /**
     * 获取临时授权访问url(公共读权限)
     *
     * @param key
     * @return
     */
     String getTempAccessUrlForWithPub(String key);

    /**
     * 下载文件
     * @param key
     * @return
     */
    byte[] getFile(String key) throws IOException;

    /**
     * 获取policy
     * @return
     */
    Map getPolicy() throws UnsupportedEncodingException;
}
